package com.ruoyi.waterDistribution.service;

import com.ruoyi.common.core.domain.business.waterDistribution.WiFarmplanM;
import com.ruoyi.waterDistribution.vo.WiLandBVo;

import java.util.List;

/**
 * 月农户限额水量及计划水量计算Service接口
 * 
 * @author ps
 * @date 2023-02-16
 */
public interface IWiFarmplanMService 
{
    /**
     * 查询月农户限额水量及计划水量计算
     * 
     * @param farmCd 月农户限额水量及计划水量计算主键
     * @return 月农户限额水量及计划水量计算
     */
    public WiFarmplanM selectWiFarmplanMByFarmCd(String farmCd);

    /**
     * 查询月农户限额水量及计划水量计算列表
     * 
     * @param wiFarmplanM 月农户限额水量及计划水量计算
     * @return 月农户限额水量及计划水量计算集合
     */
    public List<WiFarmplanM> selectWiFarmplanMList(WiFarmplanM wiFarmplanM);

    /**
     * 新增月农户限额水量及计划水量计算
     * 
     * @param wiFarmplanM 月农户限额水量及计划水量计算
     * @return 结果
     */
    public int insertWiFarmplanM(WiFarmplanM wiFarmplanM);

    /**
     * 修改月农户限额水量及计划水量计算
     * 
     * @param wiFarmplanM 月农户限额水量及计划水量计算
     * @return 结果
     */
    public int updateWiFarmplanM(WiFarmplanM wiFarmplanM);

    /**
     * 批量删除月农户限额水量及计划水量计算
     * 
     * @param farmCds 需要删除的月农户限额水量及计划水量计算主键集合
     * @return 结果
     */
    public int deleteWiFarmplanMByFarmCds(String[] farmCds);

    /**
     * 删除月农户限额水量及计划水量计算信息
     * 
     * @param farmCd 月农户限额水量及计划水量计算主键
     * @return 结果
     */
    public int deleteWiFarmplanMByFarmCdAndPlanYm(String farmCd,String planYm);

    /**
     * 汇总农户旬用水计划
     * @param farmCd
     * @param year
     * @return
     */
    int setTenPlan(String year, String farmCd) throws Exception;

    /**
     * 查询农户下地块
     * @param year
     * @param farmCd
     * @return
     */
    List<WiLandBVo> getWiLandBListByFarmCd(String year, String farmCd);

    /**
     * 导入上一年计划
     * @param year
     * @param orgCd
     * @return
     */
    List<WiFarmplanM> importLastYearPlan(String year, String orgCd);
}
